package com.gqz.equip.api;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gqz.common.core.domain.R;
import com.gqz.common.core.domain.RequestForm;
import com.gqz.equip.vo.EnWzEquipLogVo;
import com.gqz.equip.vo.EnWzEquipTaskLogVo;
import com.gqz.equip.vo.StockEquipStatisticsVo;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;


/**
 * 新能源设备信息--盘点工单对应历史记录
 *
 * @author gqz20
 * @date 2023/02/25
 */
@RequestMapping("/en-wz-equip-log")
public interface EnWzEquipLogApi {
    /**
     * 按id获取
     *
     * @param id 身份证件
     * @return {@link R}<{@link List}<{@link EnWzEquipLogVo}>>
     */
    @PostMapping("/{id}")
    public R<List<EnWzEquipLogVo>> getById(
            @PathVariable("id") String id);

    @PostMapping("/page")
    public R<Page<EnWzEquipLogVo>> page(
            @RequestBody RequestForm<EnWzEquipLogVo> requestForm);

    @PostMapping("/count")
    public R<Long> count(
            @RequestBody RequestForm<EnWzEquipLogVo> requestForm);

    @PostMapping("/insert")
    public R<Integer> insert(
            @RequestBody List<EnWzEquipLogVo> forms);

    @PostMapping("/update")
    public R<Integer> update(
            @RequestBody List<EnWzEquipLogVo> forms);

    @PostMapping("/delete")
    public R<Boolean> delete(
            @RequestBody List<String> ids);

    /**
     * 分页查询设备匹配列表根据任务编号
     *
     * @param requestForm 申请表
     * @return {@link R}<{@link Page}<{@link EnWzEquipLogVo}>>
     */
    @PostMapping("/getTaskEquipMatchList")
    public R<Page<EnWzEquipLogVo>> getTaskEquipMatchList(
            @RequestBody RequestForm<StockEquipStatisticsVo> requestForm);

    /**
     * 查询设备差异列表根据任务编号
     *
     * @param vo 沃
     * @return {@link R}<{@link List}<{@link EnWzEquipTaskLogVo}>>
     */
    @PostMapping("/getTaskEquipDiffList")
    public R<List<EnWzEquipTaskLogVo>> getTaskEquipDiffList(
            @RequestBody StockEquipStatisticsVo vo);

}
